Learning Objectives

After completing this lesson, you'll be able to:

Automate Workflows with FME Flow

Now that you understand why automation matters and when it makes sense to automate your workflows, let's investigate how to automate workflows. FME Flow has three powerful tools to automate your workflows:

Each of these tools solves a different kind of automation challenge. Based on your automation goals, you must decide which option works best for your workflow. 

Schedules

Schedules let you run a workspace at a specific time in the future or on a recurring schedule on FME Flow. You can configure schedules to run a workspace only once, or you may configure the schedule to run the workspace on a repeating timeline. For example, you can schedule a workspace to run tomorrow at 9 a.m. or set a workspace to run every morning at 7 a.m., every Monday, or even every 15 minutes. 

You create scheduled workflows easily by filling out a form specifying the workspace you'd like to run and how you would like to configure the schedule. With Schedules, you can only run a single workspace per Schedule. To run multiple workspaces on a schedule, you should use Automations. 

Automations

Automations let you build workflows that react to events in real-time or run on a recurring schedule. Automations work by sending and receiving messages between three types of components: triggers, internal actions, and external actions. Triggers receive messages that kick off the Automation. Internal actions are processes FME Flow performs internally, like running workspaces, and external actions send messages or information to external applications, such as uploading data to an S3 bucket. The next lesson teaches you more about the different triggers and actions. 

For scheduled workflows, Automations allow the same configuration options as Schedules; however, you can flexibly scale Automations to run multiple workspaces or communicate externally. 

Automations can also respond to real-time events by monitoring for messages like an incoming email, a webhook call, or an uploaded file. For example, imagine you receive new data from the field every time a team of data collectors uploads files. Instead of checking a folder every hour, you can configure FME Flow to watch that folder and automatically process the file as soon as it arrives. 

FME Flow Automations are incredibly flexible. Whether your workflow involves running a single workspace, using filter logic to conditionally run multiple workspaces, or processing incoming data in parallel, you can accomplish it with Automations. 

Streams

Streams process continuous, high-volume data flows from sources like sensors, IoT devices, and message brokers. For example, Streams are perfect for live vehicle tracking, real-time alerts, or monitoring sensors.  

To process high-frequency data as soon as it arrives with minimal delay, FME Flow Streams continuously run a workspace. Therefore, FME Flow always uses an engine when a Stream is active, making the engine unavailable to process other jobs. Compared to Automations, Streams process data much faster, and you should use Streams if you need to respond to messages at a rate of more than one per second. Otherwise, an Automation is likely sufficient to process your data and will only use an engine while it runs a workspace. 

Note

Here are some resources for more information on Streams and Engine Management:

When to Use Schedules, Automations, or Streams

As with most aspects of FME, you may often perform the same tasks differently to return the same result. While there are some overlapping scenarios between Schedules, Automations, and Streams on FME Flow, here are some general guidelines and examples of when you should use each function. 

  Number of Workspaces Data Processing Frequency Example
Schedules 1 N/A Running a single workspace weekly
Automations Unlimited < 1 feature per second Running one or more workspaces at a set time or in response to a real-time event
Streams 1 > 1 feature per second Continuously processing real-time data from a sensor